BIN = code
CC = g++
SOU = $(wildcard *.cpp)
OBJ = $(SOU:.c=.o)


$(BIN) : $(OBJ)
	@$(CC) -o $@  $^
%.o : %.cpp
	@$(CC) -c $<

.PHONY:clean
clean:
	@rm -rf  $(BIN)
.PHONY:run
run:
	@./$(BIN)



# BIN=proc.exe # 定义变量
# CC=gcc
# #SRC=$(shell ls *.c) # 采⽤shell命令⾏⽅式，获取当前所有.c⽂件名
# SRC=$(wildcard *.c) # 或者使⽤ wildcard 函数，获取当前所有.c⽂件名
# OBJ=$(SRC:.c=.o) # 将SRC的所有同名.c 替换 成为.o 形成⽬标⽂件列表
# LFLAGS=-o # 链接选项
# FLAGS=-c # 编译选项
# RM=rm -f # 引⼊命令

# $(BIN):$(OBJ)
# @$(CC) $(LFLAGS) $@ $^ # $@:代表⽬标⽂件名。 $^: 代表依赖⽂件列表
# @echo "linking ... $^ to $@"
# %.o:%.c # %.c 展开当前⽬录下所有的.c。 %.o: 同时展开同
# 名.o

# @$(CC) $(FLAGS) $<     # %<: 对展开的依赖.c⽂件，⼀个⼀个的交给gcc。
# @echo "compling ... $< to $@" # @：不回显命令
# .PHONY:clean
# clean:
# $(RM) $(OBJ) $(BIN) # $(RM): 替换，⽤变量内容替换它
# .PHONY:test
# test:
# @echo $(SRC)
# @echo $(OBJ)

